'use strict'
/**
 * BrowserUtil
 * 你是一段成熟的代码，要学会自己改bug  ----我是小尾巴
 */

const param = {
  userAgent: window.navigator.userAgent.toLowerCase(),
  version: window.navigator.appVersion,
  language: (window.navigator.browserLanguage || window.navigator.language).toLowerCase()
}

/**
 * 获取浏览器标识
 * @returns {string}
 */
export function getUserAgent () {
  return param.userAgent
}
/**
 * 获取浏览器的版本
 * @returns {string}
 */
export function getAppVersion () {
  return param.version
}
/**
 * 获取浏览器的语言信息
 * @returns {string}
 */
export function getLanguage () {
  return param.language
}
/**
 * 是否为IE内核
 * @returns {boolean}
 */
export function isTrident () {
  return !!param.userAgent.match(/Trident/i)
}
/**
 * 是否为opera内核
 * @returns {boolean}
 */
export function isPresto () {
  return !!param.userAgent.match(/Presto/i)
}
/**
 * 是否为苹果、谷歌内核
 * @returns {boolean}
 */
export function isWebKit () {
  return !!param.userAgent.match(/AppleWebKit/i)
}
/**
 * 是否为火狐内核
 */
export function isGecko () {
  return !!param.userAgent.match(/Gecko/i) && param.userAgent.indexOf('KHTML') === -1
}
/**
 * 是否为移动终端
 * @returns {boolean}
 */
export function isMobile () {
  return !!param.userAgent.match(/AppleWebKit.*Mobile.*/i)
}
/**
 * ios终端
 * @returns {boolean}
 */
export function isIOS () {
  return !!param.userAgent.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/i)
}
/**
 * android终端
 * @returns {boolean}
 */
export function isAndroid () {
  return !!param.userAgent.match(/Android/i) || !!param.userAgent.match(/Adr/i)
}
/**
 * 是否为iPhone或者QQHD浏览器
 * @returns {boolean}
 */
export function isIPhone () {
  return !!param.userAgent.match(/iPhone/i)
}
/**
 * 是否iPad
 * @returns {boolean}
 */
export function isIPad () {
  return !!param.userAgent.match(/iPad/i)
}
/**
 * 是否web应该程序，没有头部与底部
 * @returns {boolean}
 */
export function isWebApp () {
  return !!param.userAgent.indexOf(/Safari/i)
}
/**
 * 是否是微信客户端
 * @returns {boolean}
 */
export function isWeChat () {
  return !!param.userAgent.indexOf(/MicroMessenger/i)
}
/**
 * 是否QQ客户端
 * @returns {boolean}
 */
export function isQQ () {
  return param.userAgent.match(/\sQQ/i) === 'qq'
}
/**
 * 是否为mac终端
 * @returns {boolean}
 */
export function isMac () {
  return /macintosh|mac os x/i.test(param.userAgent)
}
/**
 * 是否为windows终端
 * @returns {boolean}
 */
export function isWindows () {
  return /windows|win32/i.test(param.userAgent)
}
